#ifndef DESPLAZADORFICHAS_H_
#define DESPLAZADORFICHAS_H_

#include "Thread.h"
#include "PanelFondo.h"
#include "VistaFichaTablero.h"
#include <list>
#include <jsoncpp/json.h>
#include "Constantes.h"
#include "Log.h"
class DesaparecedorFicha;
class DesplazadorFichas: public Thread {
    void *run();

    VistaEscenario *vista;

    bool *finalizoAnimacion;

    bool desplazamientoHorizontal, desplazamientoPositivo, valido;

    void obtenerOrientacion(int, int, int, int);
    Mutex *mu;
    std::list<Json::Value> *tableros;


    void animacionValida();
    void animacionInvalida();

    DesaparecedorFicha* desaparecedor;

  public:
    explicit DesplazadorFichas(std::list<Json::Value> *tableros,
                               VistaEscenario *vista,
                               Mutex *protectorFichas, bool valido);

    virtual ~DesplazadorFichas();
};

#endif
